第 2 步:在多个帧上分布渲染

在本步骤中,您将创建渲染通道和 渐进渲染 2D 视口 (Progressive Rendering Viewport 2D) 节点,将 Car Scene 节点内容的渲染分布在多个帧上。

将渲染分布到多个渲染通道

在本节中,您将创建渲染通道,并将 Car Scene 节点内容的渲染分布到这些渲染通道。

要将渲染分布到渲染通道,请执行以下操作:

  1. 素材库 (Library) > 渲染 (Rendering)按下 Alt 并右键点击渲染通道 (Render Passes),选择默认渲染通道 (Default Render Pass) 并命名为 Progressive Rendering
    默认渲染通道 (Default Render Pass) 创建一组基本的渲染通道,先渲染不透明节点,然后再渲染透明节点。
    在后续步骤中,修改 Progressive Rendering 渲染通道以满足您的需求。
  2. 工程 (Project) 中选择 RootPage > 2D 网格布局 (Grid layout 2D) > Toggle Car Animation > 2D 视口 (Viewport 2D) > Car Scene 节点,并在 属性 (Properties) 中将 渲染通道 (Render Pass) 属性设置为 Progressive Rendering
    通过这种方式,您可以设置 Kanzi 来使用Progressive Rendering 渲染通道渲染Car Scene 节点。
  3. 素材库 (Library) > 渲染 (Rendering) > 渲染通道 (Render Passes) > Progressive Rendering 中选择 绘图对象不透明 (Draw Objects Opaque) 渲染通道,并在 属性 (Properties) 中设置:这样即可设置 Draw Objects Pass 1 渲染通道渲染 Filter Pass 1 标签过滤器收集到的 Pass 1 ModelsLights 节点。

  4. 素材库 (Library) > 渲染 (Rendering) > 渲染通道 (Render Passes) > Progressive Rendering 中选择 绘图对象透明 (Draw Objects Transparent) 渲染通道,并在 属性 (Properties) 中设置:设置 Draw Objects Pass 2 渲染通道渲染 Filter Pass 2 标签过滤器收集到的 Pass 2 ModelsLights 节点。

  5. 素材库 (Library) > 渲染 (Rendering) > 渲染通道 (Render Passes) > Progressive Rendering 中右键点击 Draw Objects Pass 1 渲染通道,选择 重复 (Duplicate),按 F2 键,将其重命名为 Draw Objects Pass 3
    需要三个 绘图对象渲染通道 (Draw Objects Render Pass) 渲染通道,每个通道各一个。
  6. 属性 (Properties) 中,将对象源 (Object Source) 属性设置为Filter Pass 3
    设置 Draw Objects Pass 3 渲染通道渲染 Filter Pass 3 标签过滤器收集到的 Car ShadowLights 节点。

在帧上分布渲染

在本节中,您将创建一个 渐进渲染 2D 视口 (Progressive Rendering Viewport 2D) 节点,以将 Car Scene 节点中的渲染内容分布在多个帧上。

要在帧上分布渲染,请执行以下操作:

  1. 工程 (Project)按下 Alt 并右键点击Toggle Car Animation 节点并选择 渐进渲染 2D 视口 (Progressive Rendering Viewport 2D)
    渐进渲染 2D 视口 (Progressive Rendering Viewport 2D) 节点将渲染负载分布在多个帧上,以减少渲染完整一帧所需的工作量和时间。Kanzi 更新每一帧中所有不是由 渐进渲染 2D 视口 (Progressive Rendering Viewport 2D) 节点渲染的内容。
  2. 工程 (Project) 中,从 2D 视口 (Viewport 2D) 节点将 Car Scene 节点拖到 渐进渲染 2D 视口 (Progressive Rendering Viewport 2D) 节点。
    渐进渲染 2D 视口 (Progressive Rendering Viewport 2D) 节点现在使用 Progressive Rendering 渲染通道,因为在上一节中,已将 Car Scene 节点中的 渲染通道 (Render Pass) 属性设置为 Progressive Rendering 渲染通道。
    Kanzi 每 n 帧更新 渐进渲染 2D 视口 (Progressive Rendering Viewport 2D) 节点渲染的所有内容,其中 n 代表 渐进渲染 2D 视口 (Progressive Rendering Viewport 2D) 节点使用的顶级渲染通道的子渲染通道数量。
    因为 Progressive Rendering 渲染通道包含 1 个 清除渲染通道 (Clear Render Pass) 和 3 个 绘图对象渲染通道 (Draw Objects Render Pass) 渲染通道,所以 Kanzi 每 4 帧更新一次 Car Scene 节点中的内容。
  3. 工程 (Project) 中选择 2D 视口 (Viewport 2D) 节点并按下 Delete 键。
  4. 素材库 (Library) > 渲染 (Rendering) > 渲染通道 (Render Passes) > Progressive Rendering 中选择 清除渲染通道 (Clear Render Pass),在 属性 (Properties) 中添加 清除颜色 (Clear Color) 属性并设置: 通过这种方式,您通过透明的黑色清除颜色缓冲区。
  5. 要在 预览 (Preview) 中应用这些更改,在 预览 (Preview) 中点击 重新启动 (Restart)

Kanzi 现在使用 渐进渲染 2D 视口 (Progressive Rendering Viewport 2D) 节点,每 4 帧更新一次 Car Model 节点中的内容。

  1. 清除颜色缓冲区。
  2. 绘制 Pass 1 ModelsLights 节点。
  3. 绘制 Pass 2 ModelsLights 节点。
  4. 绘制 Car ShadowLights 节点。

Kanzi 每帧更新2D 视口 (Viewport 2D) 节点 Gauges 中的内容。


< 上一步
下一步 >

另请参阅

如需了解有关渐进渲染的更多信息,请参阅在多个帧上分布渲染

要详细了解有关 Kanzi 中渲染通道的信息,请参阅渲染

如需详细了解如何在 Kanzi 应用程序中使用过滤器,请参阅过滤器

如需了解有关对象源的更多信息,请参阅使用对象源